1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 29 module derelict.purple.mime; 30 31 import derelict.glib.gtypes; 32 import derelict.glib.glibconfig; 33 import derelict.glib.gstring; 34 import derelict.glib.glist; 35 import core.stdc.config; 36 import core.stdc.string; 37 38 extern (C): 39 40 alias _PurpleMimeDocument PurpleMimeDocument; 41 alias _PurpleMimePart PurpleMimePart; 42 43 struct _PurpleMimeDocument; 44 45 46 struct _PurpleMimePart; 47 48 49 version(Derelict_Link_Static) 50 { 51 extern( C ) nothrow 52 { 53 PurpleMimeDocument* purple_mime_document_new(); 54 void purple_mime_document_free(PurpleMimeDocument* doc); 55 PurpleMimeDocument* purple_mime_document_parse(const(char)* buf); 56 PurpleMimeDocument* purple_mime_document_parsen(const(char)* buf, gsize len); 57 void purple_mime_document_write(PurpleMimeDocument* doc, GString* str); 58 GList* purple_mime_document_get_fields(PurpleMimeDocument* doc); 59 const(char)* purple_mime_document_get_field(PurpleMimeDocument* doc, const(char)* field); 60 void purple_mime_document_set_field(PurpleMimeDocument* doc, const(char)* field, const(char)* value); 61 GList* purple_mime_document_get_parts(PurpleMimeDocument* doc); 62 PurpleMimePart* purple_mime_part_new(PurpleMimeDocument* doc); 63 GList* purple_mime_part_get_fields(PurpleMimePart* part); 64 const(char)* purple_mime_part_get_field(PurpleMimePart* part, const(char)* field); 65 char* purple_mime_part_get_field_decoded(PurpleMimePart* part, const(char)* field); 66 void purple_mime_part_set_field(PurpleMimePart* part, const(char)* field, const(char)* value); 67 const(char)* purple_mime_part_get_data(PurpleMimePart* part); 68 void purple_mime_part_get_data_decoded(PurpleMimePart* part, guchar** data, gsize* len); 69 gsize purple_mime_part_get_length(PurpleMimePart* part); 70 void purple_mime_part_set_data(PurpleMimePart* part, const(char)* data); 71 } 72 } 73 else 74 { 75 extern( C ) nothrow 76 { 77 alias da_purple_mime_document_new = PurpleMimeDocument* function(); 78 alias da_purple_mime_document_free = void function(PurpleMimeDocument* doc); 79 alias da_purple_mime_document_parse = PurpleMimeDocument* function(const(char)* buf); 80 alias da_purple_mime_document_parsen = PurpleMimeDocument* function(const(char)* buf, gsize len); 81 alias da_purple_mime_document_write = void function(PurpleMimeDocument* doc, GString* str); 82 alias da_purple_mime_document_get_fields = GList* function(PurpleMimeDocument* doc); 83 alias da_purple_mime_document_get_field = const(char)* function(PurpleMimeDocument* doc, const(char)* field); 84 alias da_purple_mime_document_set_field = void function(PurpleMimeDocument* doc, const(char)* field, const(char)* value); 85 alias da_purple_mime_document_get_parts = GList* function(PurpleMimeDocument* doc); 86 alias da_purple_mime_part_new = PurpleMimePart* function(PurpleMimeDocument* doc); 87 alias da_purple_mime_part_get_fields = GList* function(PurpleMimePart* part); 88 alias da_purple_mime_part_get_field = const(char)* function(PurpleMimePart* part, const(char)* field); 89 alias da_purple_mime_part_get_field_decoded = char* function(PurpleMimePart* part, const(char)* field); 90 alias da_purple_mime_part_set_field = void function(PurpleMimePart* part, const(char)* field, const(char)* value); 91 alias da_purple_mime_part_get_data = const(char)* function(PurpleMimePart* part); 92 alias da_purple_mime_part_get_data_decoded = void function(PurpleMimePart* part, guchar** data, gsize* len); 93 alias da_purple_mime_part_get_length = gsize function(PurpleMimePart* part); 94 alias da_purple_mime_part_set_data = void function(PurpleMimePart* part, const(char)* data); 95 } 96 97 __gshared 98 { 99 da_purple_mime_document_new purple_mime_document_new; 100 da_purple_mime_document_free purple_mime_document_free; 101 da_purple_mime_document_parse purple_mime_document_parse; 102 da_purple_mime_document_parsen purple_mime_document_parsen; 103 da_purple_mime_document_write purple_mime_document_write; 104 da_purple_mime_document_get_fields purple_mime_document_get_fields; 105 da_purple_mime_document_get_field purple_mime_document_get_field; 106 da_purple_mime_document_set_field purple_mime_document_set_field; 107 da_purple_mime_document_get_parts purple_mime_document_get_parts; 108 da_purple_mime_part_new purple_mime_part_new; 109 da_purple_mime_part_get_fields purple_mime_part_get_fields; 110 da_purple_mime_part_get_field purple_mime_part_get_field; 111 da_purple_mime_part_get_field_decoded purple_mime_part_get_field_decoded; 112 da_purple_mime_part_set_field purple_mime_part_set_field; 113 da_purple_mime_part_get_data purple_mime_part_get_data; 114 da_purple_mime_part_get_data_decoded purple_mime_part_get_data_decoded; 115 da_purple_mime_part_get_length purple_mime_part_get_length; 116 da_purple_mime_part_set_data purple_mime_part_set_data; 117 } 118 }